package com.nbf.Session;

import com.nbf.DataManager.DataManager;

/** This is the class the user interacts with to begin data analysis and retrieve variables from the data manager
 * 
 * @author Zachary David
 *
 */
public class PortfolioSession
{
	/**
	 * Determines whether standard System.out messages are sent<br>
	 * <b>Default</b>: true
	 */
	public static boolean CONSOLE_ENABLED 	= true;
	
	/**
	 * This is the name of the variable that must be available for each symbol for each
	 * active day in order to correctly calculate P/L<br>
	 * <b>Default</b>: "Price"
	 */
	public static String PRICE_NAME 			= "Price";
	
	/**
	 * This is the name of the variable that must be available for each symbol for each
	 * active day in order to correctly calculate the Market Portfolio<br>
	 * <b>Default</b>: "MarketCap"
	 */
	public static String MARKET_CAP_NAME 	= "MarketCap";
	
	/**
	 * Toggle System.out Messages
	 * @param enabled
	 */
	public static void enableConsole(boolean enabled)
	{
		CONSOLE_ENABLED = enabled;
	}
	
	/**
	 * Change the name of the variable with which to calculate portfolio P/L 
	 * @param priceName new price variable name
	 */
	public static void setPriceName(String priceName)
	{
		PRICE_NAME = priceName;
	}
	
	/**
	 * Change the name of the variable with which to calculate the weights for the Market Portfolio
	 * @param marketCapName new marketcap variable name
	 */
	public static void setMarketCapName(String marketCapName)
	{
		MARKET_CAP_NAME = marketCapName;
	}
	
	private DataManager	_dataManager;
}
